#pragma once

#include "Component.h"
#include "Point.h"

namespace game_engine { namespace components
{

/*!
 * \class PlainTexture
 * \brief 
 */
class PlainTexture : public Component
{
///////////////////////////////////////////////////////////////////////////////
// Attribute definition
///////////////////////////////////////////////////////////////////////////////
private:
    string textureFile;
    INT32 textureType;
    BOOL hudElement;

///////////////////////////////////////////////////////////////////////////////
// Method definition
///////////////////////////////////////////////////////////////////////////////
public:
    // Constructors and Destructors
    PlainTexture(void);
    PlainTexture(GameObject *obj, const string &file, const INT32 t, 
        const BOOL hud = false);
    virtual ~PlainTexture(void);

    // Others
    void initialize(void) throw(...);
    void render(void) throw(...);

    // Getters

    // Setters
    void setTextureFile(const string &file);
    void setTextureType(const INT32 type);

};

}}
